<?php
/**
 * Created by Creatint.
 * Date: 2016/7/19
 * PHP version: +7.0
 * Remark: 自定义异常处理类
 */
namespace Admin\Tool;


class WechatException extends \Exception{
    // 重定义构造器使 message 变为必须被指定的属性
    public function __construct($message, $code = 0, Exception $previous = null) {
        // 自定义的代码
        file_put_contents('/var/www/wechat/exception.log',date("Y-m-d H:i:s")."： \n Message: {$message}\n Code: {$code}\n Line: {$this->getLine()} \n File: {$this->getFile()}\n\n",FILE_APPEND);

        // 确保所有变量都被正确赋值
        parent::__construct($message, $code, $previous);
    }

    // 自定义字符串输出的样式
    public function __toString() {
        return __CLASS__ . ": [{$this->code}]: {$this->message}\n";
    }
}